package com.briup.es.service;

import com.briup.es.domain.bean.User;
import com.briup.es.domain.dto.UserLoginDTO;
import com.briup.es.domain.dto.UserDTO;
import com.briup.es.domain.dto.UserUpdatePasswordDTO;

import java.util.Map;

public interface UserService {
    /**
     * 注册
     * @param registerDTO 注册时携带的参数
     */
    void register(UserDTO registerDTO);

    /**
     * 登录
     * @param loginDTO 登录时携带的参数
     * @return Map<String, Object> 登录凭证以及用户信息
     */
    Map<String, Object> login(UserLoginDTO loginDTO);

    /**
     * 根据id查询用户信息
     * @param userId 用户id
     * @return User 用户信息
     */
    User queryById(Integer userId);

    /**
     * 修改当前登录用户密码
     * @param updatePasswordDTO 密码数据
     */
    void updatePassword(UserUpdatePasswordDTO updatePasswordDTO);

    /**
     * 修改用户的基础信息
     * @param userDTO 用户需要修改的信息
     */
    void updateUser(UserDTO userDTO);
}
